#region Acerca de...
///////////////////////////////////////////////////////////////////////////
// Empresa:  Instituto Tecnológico de Costa Rica
// Proyecto: Catalogo Produccion Agricola Protegida en Costa Rica
// Descripción: Clase de acceso a datos para vista 'EquipamientoVista'
// Generado por ITCR Gen v2010.0.0.0 
// Fecha: Sunday, September 23, 2012, 12:25:08 PM
// Dado que esta clase implementa IDispose, las clases derivadas no deben hacerlo.
///////////////////////////////////////////////////////////////////////////
#endregion


using System;
using System.Data;
using System.Data.SqlTypes;
using System.Data.SqlClient;
//using Microsoft.SqlServer.Types;  //usarlo cuando hay tipos Geometry, Geography, HierarchiId. Está en C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.SqlServer.Types.dll

namespace ITCR.ProyectoAgricola.Base
{
	/// <summary>
	/// Propósito: Clase de acceso a datos para vista 'EquipamientoVista'.
	/// </summary>
	public class cEquipamientoVistaBase : cBDInteraccionBase
	{
		#region Declaraciones de miembros de la clase
			private SqlInt32		_equipoControlAutomatismos, _expr1, _equipoMonitoreoAguaAire, _equipoSaludSeguridadOcupacional, _equipoMonitoreoPlagas, _bandejaCultivo, _mallasAntiAves, _mallasSombreo, _mallasAntiInsectos, _pantallasReflectivasRefractivas, _pantallasCortaViento, _sistemaRecirculacionSoluciones, _plasticosClaros, _sistemasCalefaccionRefrigeracion, _equipoPoscosecha, _equipoPortatiles, _equipoRiegoFertiIrrigacion, _materialesMetal, _materialesMadera, _plasticosPigmentados, _cobertoresPiso, _canaletasMesas, _computoEspecifico, _estacionesMeteorologicas, _emosoresCO2, _idEmpresa, _idEquipamiento, _abanicosVentiladores, _cablesTensoresSoporte, _anclajes, _equipoCientificoEspecializado, _nebulizadores, _sugetadoresCerramiento, _tanquesAgua, _sustratos, _geomembranas, _estructurasSoporteCultivo, _humedecimientoAmbiente, _motoresBarrasTransmision, _iluminacionInterna;
			private SqlString		_otro;
		#endregion


		/// <summary>
		/// Propósito: Constructor de la clase.
		/// </summary>
		public cEquipamientoVistaBase()
		{
			// Agregar código aquí.
		}


		/// <summary>
		/// Propósito: Método Insertar. Este método inserta una fila nueva en la base de datos.
		/// </summary>
		/// <returns>True si tuvo éxito, sino genera una Exception. </returns>
		/// <remarks>
		/// Propiedades necesarias para este método: 
		/// <UL>
		///		 <LI>IdEquipamiento</LI>
		///		 <LI>IdEmpresa</LI>
		///		 <LI>AbanicosVentiladores. May be SqlInt32.Null</LI>
		///		 <LI>Anclajes. May be SqlInt32.Null</LI>
		///		 <LI>CablesTensoresSoporte. May be SqlInt32.Null</LI>
		///		 <LI>CanaletasMesas. May be SqlInt32.Null</LI>
		///		 <LI>CobertoresPiso. May be SqlInt32.Null</LI>
		///		 <LI>ComputoEspecifico. May be SqlInt32.Null</LI>
		///		 <LI>EmosoresCO2. May be SqlInt32.Null</LI>
		///		 <LI>EstacionesMeteorologicas. May be SqlInt32.Null</LI>
		///		 <LI>EstructurasSoporteCultivo. May be SqlInt32.Null</LI>
		///		 <LI>Geomembranas. May be SqlInt32.Null</LI>
		///		 <LI>HumedecimientoAmbiente. May be SqlInt32.Null</LI>
		///		 <LI>IluminacionInterna. May be SqlInt32.Null</LI>
		///		 <LI>MotoresBarrasTransmision. May be SqlInt32.Null</LI>
		///		 <LI>Nebulizadores. May be SqlInt32.Null</LI>
		///		 <LI>EquipoCientificoEspecializado. May be SqlInt32.Null</LI>
		///		 <LI>SugetadoresCerramiento. May be SqlInt32.Null</LI>
		///		 <LI>Sustratos. May be SqlInt32.Null</LI>
		///		 <LI>TanquesAgua. May be SqlInt32.Null</LI>
		///		 <LI>Otro. May be SqlString.Null</LI>
		///		 <LI>BandejaCultivo. May be SqlInt32.Null</LI>
		///		 <LI>MallasAntiAves. May be SqlInt32.Null</LI>
		///		 <LI>MallasAntiInsectos. May be SqlInt32.Null</LI>
		///		 <LI>MallasSombreo. May be SqlInt32.Null</LI>
		///		 <LI>Expr1. May be SqlInt32.Null</LI>
		///		 <LI>EquipoControlAutomatismos. May be SqlInt32.Null</LI>
		///		 <LI>EquipoMonitoreoAguaAire. May be SqlInt32.Null</LI>
		///		 <LI>EquipoMonitoreoPlagas. May be SqlInt32.Null</LI>
		///		 <LI>EquipoSaludSeguridadOcupacional. May be SqlInt32.Null</LI>
		///		 <LI>EquipoPortatiles. May be SqlInt32.Null</LI>
		///		 <LI>EquipoPoscosecha. May be SqlInt32.Null</LI>
		///		 <LI>EquipoRiegoFertiIrrigacion. May be SqlInt32.Null</LI>
		///		 <LI>MaterialesMadera. May be SqlInt32.Null</LI>
		///		 <LI>MaterialesMetal. May be SqlInt32.Null</LI>
		///		 <LI>PantallasCortaViento. May be SqlInt32.Null</LI>
		///		 <LI>PantallasReflectivasRefractivas. May be SqlInt32.Null</LI>
		///		 <LI>SistemaRecirculacionSoluciones. May be SqlInt32.Null</LI>
		///		 <LI>SistemasCalefaccionRefrigeracion. May be SqlInt32.Null</LI>
		///		 <LI>PlasticosClaros. May be SqlInt32.Null</LI>
		///		 <LI>PlasticosPigmentados. May be SqlInt32.Null</LI>
		/// </UL>
		/// Propiedades actualizadas luego de una llamada exitosa a este método: 
		/// <UL>
		///		 <LI>CodError</LI>
		/// </UL>
		/// </remarks>
		public override bool Insertar()
		{
			SqlCommand	cmdAEjecutar = new SqlCommand();
			cmdAEjecutar.CommandText = "dbo.[pr_EquipamientoVista_Insertar]";
			cmdAEjecutar.CommandType = CommandType.StoredProcedure;

			// Usar el objeto conexión de la clase base
			cmdAEjecutar.Connection = _conexionBD;

			try
			{
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iidEquipamiento", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, _idEquipamiento));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iidEmpresa", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, _idEmpresa));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iabanicosVentiladores", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _abanicosVentiladores));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@ianclajes", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _anclajes));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@icablesTensoresSoporte", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _cablesTensoresSoporte));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@icanaletasMesas", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _canaletasMesas));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@icobertoresPiso", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _cobertoresPiso));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@icomputoEspecifico", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _computoEspecifico));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iemosoresCO2", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _emosoresCO2));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iestacionesMeteorologicas", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _estacionesMeteorologicas));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iestructurasSoporteCultivo", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _estructurasSoporteCultivo));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@igeomembranas", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _geomembranas));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@ihumedecimientoAmbiente", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _humedecimientoAmbiente));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iiluminacionInterna", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _iluminacionInterna));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@imotoresBarrasTransmision", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _motoresBarrasTransmision));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@inebulizadores", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _nebulizadores));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iequipoCientificoEspecializado", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _equipoCientificoEspecializado));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@isugetadoresCerramiento", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _sugetadoresCerramiento));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@isustratos", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _sustratos));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@itanquesAgua", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _tanquesAgua));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@sotro", SqlDbType.VarChar, 200, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, _otro));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@ibandejaCultivo", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _bandejaCultivo));				
				cmdAEjecutar.Parameters.Add(new SqlParameter("@imallasAntiAves", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _mallasAntiAves));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@imallasAntiInsectos", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _mallasAntiInsectos));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@imallasSombreo", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _mallasSombreo));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iExpr1", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _expr1));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iequipoControlAutomatismos", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _equipoControlAutomatismos));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iequipoMonitoreoAguaAire", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _equipoMonitoreoAguaAire));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iequipoMonitoreoPlagas", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _equipoMonitoreoPlagas));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iequipoSaludSeguridadOcupacional", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _equipoSaludSeguridadOcupacional));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iequipoPortatiles", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _equipoPortatiles));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iequipoPoscosecha", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _equipoPoscosecha));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iequipoRiegoFertiIrrigacion", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _equipoRiegoFertiIrrigacion));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@imaterialesMadera", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _materialesMadera));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@imaterialesMetal", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _materialesMetal));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@ipantallasCortaViento", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _pantallasCortaViento));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@ipantallasReflectivasRefractivas", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _pantallasReflectivasRefractivas));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@isistemaRecirculacionSoluciones", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _sistemaRecirculacionSoluciones));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@isistemasCalefaccionRefrigeracion", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _sistemasCalefaccionRefrigeracion));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iplasticosClaros", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _plasticosClaros));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iplasticosPigmentados", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _plasticosPigmentados));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iCodError", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, _codError));

				if(_conexionBDEsCreadaLocal)
				{
					// Abre una conexión.
					_conexionBD.Open();
				}
				else
				{
					if(_conexionBDProvider.IsTransactionPending)
					{
						cmdAEjecutar.Transaction = _conexionBDProvider.CurrentTransaction;
					}
				}

				// Ejecuta la consulta.
				_filasAfectadas = cmdAEjecutar.ExecuteNonQuery();
				_codError = Int32.Parse(cmdAEjecutar.Parameters["@iCodError"].Value.ToString());

				if(_codError != (int)ITCRError.AllOk)
				{
					// Genera un error.
					throw new Exception("Procedimiento Almacenado 'pr_EquipamientoVista_Insertar' reportó el error Codigo: " + _codError);
				}

				return true;
			}
			catch (Exception ex)
			{
				// Ocurrió un error. le hace Bubble a quien llama y encapsula el objeto Exception
				throw new Exception("cEquipamientoVistaBase::Insertar::Ocurrió un error." + ex.Message, ex);
			}
			finally
			{
				if(_conexionBDEsCreadaLocal)
				{
					// Cierra la conexión.
					_conexionBD.Close();
				}
				cmdAEjecutar.Dispose();
			}
		}


		/// <summary>
		/// Propósito: Método SeleccionarTodos. Este método va a Hacer un SELECT All de vista.
		/// </summary>
		/// <returns>DataTable object si tuvo éxito, sino genera una Exception. </returns>
		/// <remarks>
		/// Propiedades actualizadas luego de una llamada exitosa a este método: 
		/// <UL>
		///		 <LI>CodError</LI>
		/// </UL>
		/// </remarks>
		public override DataTable SeleccionarTodos()
		{
			SqlCommand	cmdAEjecutar = new SqlCommand();
			cmdAEjecutar.CommandText = "dbo.[pr_EquipamientoVista_SeleccionarTodos]";
			cmdAEjecutar.CommandType = CommandType.StoredProcedure;
			DataTable toReturn = new DataTable("EquipamientoVista");
			SqlDataAdapter adapter = new SqlDataAdapter(cmdAEjecutar);

			// Usar el objeto conexión de la clase base
			cmdAEjecutar.Connection = _conexionBD;

			try
			{
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iCodError", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, _codError));

				if(_conexionBDEsCreadaLocal)
				{
					// Abre una conexión.
					_conexionBD.Open();
				}
				else
				{
					if(_conexionBDProvider.IsTransactionPending)
					{
						cmdAEjecutar.Transaction = _conexionBDProvider.CurrentTransaction;
					}
				}

				// Ejecuta la consulta.
				adapter.Fill(toReturn);
				_codError = Int32.Parse(cmdAEjecutar.Parameters["@iCodError"].Value.ToString());

				if(_codError != (int)ITCRError.AllOk)
				{
					// Genera un error.
					throw new Exception("Procedimiento Almacenado 'pr_EquipamientoVista_SeleccionarTodos' reportó el error Código: " + _codError);
				}

				return toReturn;
			}
			catch (Exception ex)
			{
				// Ocurrió un error. le hace Bubble a quien llama y encapsula el objeto Exception
				throw new Exception("cEquipamientoVistaBase::SeleccionarTodos::Ocurrió un error." + ex.Message, ex);
			}
			finally
			{
				if(_conexionBDEsCreadaLocal)
				{
					// Cierra la conexión.
					_conexionBD.Close();
				}
				cmdAEjecutar.Dispose();
				adapter.Dispose();
			}
		}


		/// <summary>
		/// Propósito: Método Buscar. Este método hace una busqueda de acuerdo con todos los campos de la tabla.
		/// </summary>
		/// <returns>DataTable si tuvo éxito, sino genera una Exception. </returns>
		/// <remarks>
		/// Propiedades necesarias para este método: 
		/// <UL>
		///		 <LI>IdEquipamiento</LI>
		///		 <LI>IdEmpresa</LI>
		///		 <LI>AbanicosVentiladores. May be SqlInt32.Null</LI>
		///		 <LI>Anclajes. May be SqlInt32.Null</LI>
		///		 <LI>CablesTensoresSoporte. May be SqlInt32.Null</LI>
		///		 <LI>CanaletasMesas. May be SqlInt32.Null</LI>
		///		 <LI>CobertoresPiso. May be SqlInt32.Null</LI>
		///		 <LI>ComputoEspecifico. May be SqlInt32.Null</LI>
		///		 <LI>EmosoresCO2. May be SqlInt32.Null</LI>
		///		 <LI>EstacionesMeteorologicas. May be SqlInt32.Null</LI>
		///		 <LI>EstructurasSoporteCultivo. May be SqlInt32.Null</LI>
		///		 <LI>Geomembranas. May be SqlInt32.Null</LI>
		///		 <LI>HumedecimientoAmbiente. May be SqlInt32.Null</LI>
		///		 <LI>IluminacionInterna. May be SqlInt32.Null</LI>
		///		 <LI>MotoresBarrasTransmision. May be SqlInt32.Null</LI>
		///		 <LI>Nebulizadores. May be SqlInt32.Null</LI>
		///		 <LI>EquipoCientificoEspecializado. May be SqlInt32.Null</LI>
		///		 <LI>SugetadoresCerramiento. May be SqlInt32.Null</LI>
		///		 <LI>Sustratos. May be SqlInt32.Null</LI>
		///		 <LI>TanquesAgua. May be SqlInt32.Null</LI>
		///		 <LI>Otro. May be SqlString.Null</LI>
		///		 <LI>BandejaCultivo. May be SqlInt32.Null</LI>
		///		 <LI>MallasAntiAves. May be SqlInt32.Null</LI>
		///		 <LI>MallasAntiInsectos. May be SqlInt32.Null</LI>
		///		 <LI>MallasSombreo. May be SqlInt32.Null</LI>
		///		 <LI>Expr1. May be SqlInt32.Null</LI>
		///		 <LI>EquipoControlAutomatismos. May be SqlInt32.Null</LI>
		///		 <LI>EquipoMonitoreoAguaAire. May be SqlInt32.Null</LI>
		///		 <LI>EquipoMonitoreoPlagas. May be SqlInt32.Null</LI>
		///		 <LI>EquipoSaludSeguridadOcupacional. May be SqlInt32.Null</LI>
		///		 <LI>EquipoPortatiles. May be SqlInt32.Null</LI>
		///		 <LI>EquipoPoscosecha. May be SqlInt32.Null</LI>
		///		 <LI>EquipoRiegoFertiIrrigacion. May be SqlInt32.Null</LI>
		///		 <LI>MaterialesMadera. May be SqlInt32.Null</LI>
		///		 <LI>MaterialesMetal. May be SqlInt32.Null</LI>
		///		 <LI>PantallasCortaViento. May be SqlInt32.Null</LI>
		///		 <LI>PantallasReflectivasRefractivas. May be SqlInt32.Null</LI>
		///		 <LI>SistemaRecirculacionSoluciones. May be SqlInt32.Null</LI>
		///		 <LI>SistemasCalefaccionRefrigeracion. May be SqlInt32.Null</LI>
		///		 <LI>PlasticosClaros. May be SqlInt32.Null</LI>
		///		 <LI>PlasticosPigmentados. May be SqlInt32.Null</LI>
		/// </UL>
		/// Propiedades actualizadas luego de una llamada exitosa a este método: 
		/// <UL>
		///		 <LI>CodError</LI>
		/// </UL>
		/// </remarks>
		public override DataTable Buscar()
		{
			SqlCommand	cmdAEjecutar = new SqlCommand();
			cmdAEjecutar.CommandText = "dbo.[pr_EquipamientoVista_Buscar]";
			cmdAEjecutar.CommandType = CommandType.StoredProcedure;
			DataTable toReturn = new DataTable("EquipamientoVista");
			SqlDataAdapter adapter = new SqlDataAdapter(cmdAEjecutar);

			// Usar el objeto conexión de la clase base
			cmdAEjecutar.Connection = _conexionBD;

			try
			{
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iidEquipamiento", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, _idEquipamiento));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iidEmpresa", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, _idEmpresa));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iabanicosVentiladores", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _abanicosVentiladores));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@ianclajes", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _anclajes));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@icablesTensoresSoporte", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _cablesTensoresSoporte));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@icanaletasMesas", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _canaletasMesas));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@icobertoresPiso", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _cobertoresPiso));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@icomputoEspecifico", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _computoEspecifico));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iemosoresCO2", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _emosoresCO2));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iestacionesMeteorologicas", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _estacionesMeteorologicas));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iestructurasSoporteCultivo", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _estructurasSoporteCultivo));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@igeomembranas", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _geomembranas));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@ihumedecimientoAmbiente", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _humedecimientoAmbiente));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iiluminacionInterna", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _iluminacionInterna));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@imotoresBarrasTransmision", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _motoresBarrasTransmision));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@inebulizadores", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _nebulizadores));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iequipoCientificoEspecializado", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _equipoCientificoEspecializado));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@isugetadoresCerramiento", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _sugetadoresCerramiento));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@isustratos", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _sustratos));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@itanquesAgua", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _tanquesAgua));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@sotro", SqlDbType.VarChar, 200, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, _otro));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@ibandejaCultivo", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _bandejaCultivo));				
				cmdAEjecutar.Parameters.Add(new SqlParameter("@imallasAntiAves", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _mallasAntiAves));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@imallasAntiInsectos", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _mallasAntiInsectos));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@imallasSombreo", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _mallasSombreo));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iExpr1", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _expr1));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iequipoControlAutomatismos", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _equipoControlAutomatismos));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iequipoMonitoreoAguaAire", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _equipoMonitoreoAguaAire));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iequipoMonitoreoPlagas", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _equipoMonitoreoPlagas));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iequipoSaludSeguridadOcupacional", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _equipoSaludSeguridadOcupacional));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iequipoPortatiles", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _equipoPortatiles));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iequipoPoscosecha", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _equipoPoscosecha));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iequipoRiegoFertiIrrigacion", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _equipoRiegoFertiIrrigacion));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@imaterialesMadera", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _materialesMadera));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@imaterialesMetal", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _materialesMetal));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@ipantallasCortaViento", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _pantallasCortaViento));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@ipantallasReflectivasRefractivas", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _pantallasReflectivasRefractivas));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@isistemaRecirculacionSoluciones", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _sistemaRecirculacionSoluciones));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@isistemasCalefaccionRefrigeracion", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _sistemasCalefaccionRefrigeracion));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iplasticosClaros", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _plasticosClaros));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iplasticosPigmentados", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, _plasticosPigmentados));
				cmdAEjecutar.Parameters.Add(new SqlParameter("@iCodError", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, _codError));

				if(_conexionBDEsCreadaLocal)
				{
					// Abre una conexión.
					_conexionBD.Open();
				}
				else
				{
					if(_conexionBDProvider.IsTransactionPending)
					{
						cmdAEjecutar.Transaction = _conexionBDProvider.CurrentTransaction;
					}
				}

				// Ejecuta la consulta.
				adapter.Fill(toReturn);
				_codError = Int32.Parse(cmdAEjecutar.Parameters["@iCodError"].Value.ToString());

				if(_codError != (int)ITCRError.AllOk)
				{
					// Genera un error.
					throw new Exception("Procedimiento Almacenado 'pr_EquipamientoVista_Buscar' reportó el error Código: " + _codError);
				}

				return toReturn;
			}
			catch (Exception ex)
			{
				// Ocurrió un error. le hace Bubble a quien llama y encapsula el objeto Exception
				throw new Exception("cEquipamientoVistaBase::Buscar::Ocurrió un error." + ex.Message, ex);
			}
			finally
			{
				if(_conexionBDEsCreadaLocal)
				{
					// Cierra la conexión.
					_conexionBD.Close();
				}
				cmdAEjecutar.Dispose();
				adapter.Dispose();
			}
		}


		#region Declaraciones de propiedades de la clase
		public SqlInt32 IdEquipamiento
		{
			get
			{
				return _idEquipamiento;
			}
			set
			{
				SqlInt32 idEquipamientoTmp = (SqlInt32)value;
				if(idEquipamientoTmp.IsNull)
				{
					throw new ArgumentOutOfRangeException("IdEquipamiento", "IdEquipamiento can't be NULL");
				}
				_idEquipamiento = value;
			}
		}


		public SqlInt32 IdEmpresa
		{
			get
			{
				return _idEmpresa;
			}
			set
			{
				SqlInt32 idEmpresaTmp = (SqlInt32)value;
				if(idEmpresaTmp.IsNull)
				{
					throw new ArgumentOutOfRangeException("IdEmpresa", "IdEmpresa can't be NULL");
				}
				_idEmpresa = value;
			}
		}


		public SqlInt32 AbanicosVentiladores
		{
			get
			{
				return _abanicosVentiladores;
			}
			set
			{
				_abanicosVentiladores = value;
			}
		}


		public SqlInt32 Anclajes
		{
			get
			{
				return _anclajes;
			}
			set
			{
				_anclajes = value;
			}
		}


		public SqlInt32 CablesTensoresSoporte
		{
			get
			{
				return _cablesTensoresSoporte;
			}
			set
			{
				_cablesTensoresSoporte = value;
			}
		}


		public SqlInt32 CanaletasMesas
		{
			get
			{
				return _canaletasMesas;
			}
			set
			{
				_canaletasMesas = value;
			}
		}


		public SqlInt32 CobertoresPiso
		{
			get
			{
				return _cobertoresPiso;
			}
			set
			{
				_cobertoresPiso = value;
			}
		}


		public SqlInt32 ComputoEspecifico
		{
			get
			{
				return _computoEspecifico;
			}
			set
			{
				_computoEspecifico = value;
			}
		}


		public SqlInt32 EmosoresCO2
		{
			get
			{
				return _emosoresCO2;
			}
			set
			{
				_emosoresCO2 = value;
			}
		}


		public SqlInt32 EstacionesMeteorologicas
		{
			get
			{
				return _estacionesMeteorologicas;
			}
			set
			{
				_estacionesMeteorologicas = value;
			}
		}


		public SqlInt32 EstructurasSoporteCultivo
		{
			get
			{
				return _estructurasSoporteCultivo;
			}
			set
			{
				_estructurasSoporteCultivo = value;
			}
		}


		public SqlInt32 Geomembranas
		{
			get
			{
				return _geomembranas;
			}
			set
			{
				_geomembranas = value;
			}
		}


		public SqlInt32 HumedecimientoAmbiente
		{
			get
			{
				return _humedecimientoAmbiente;
			}
			set
			{
				_humedecimientoAmbiente = value;
			}
		}


		public SqlInt32 IluminacionInterna
		{
			get
			{
				return _iluminacionInterna;
			}
			set
			{
				_iluminacionInterna = value;
			}
		}


		public SqlInt32 MotoresBarrasTransmision
		{
			get
			{
				return _motoresBarrasTransmision;
			}
			set
			{
				_motoresBarrasTransmision = value;
			}
		}


		public SqlInt32 Nebulizadores
		{
			get
			{
				return _nebulizadores;
			}
			set
			{
				_nebulizadores = value;
			}
		}


		public SqlInt32 EquipoCientificoEspecializado
		{
			get
			{
				return _equipoCientificoEspecializado;
			}
			set
			{
				_equipoCientificoEspecializado = value;
			}
		}


		public SqlInt32 SugetadoresCerramiento
		{
			get
			{
				return _sugetadoresCerramiento;
			}
			set
			{
				_sugetadoresCerramiento = value;
			}
		}


		public SqlInt32 Sustratos
		{
			get
			{
				return _sustratos;
			}
			set
			{
				_sustratos = value;
			}
		}


		public SqlInt32 TanquesAgua
		{
			get
			{
				return _tanquesAgua;
			}
			set
			{
				_tanquesAgua = value;
			}
		}


		public SqlString Otro
		{
			get
			{
				return _otro;
			}
			set
			{
				_otro = value;
			}
		}


		public SqlInt32 BandejaCultivo
		{
			get
			{
				return _bandejaCultivo;
			}
			set
			{
				_bandejaCultivo = value;
			}
		}


		public SqlInt32 MallasAntiAves
		{
			get
			{
				return _mallasAntiAves;
			}
			set
			{
				_mallasAntiAves = value;
			}
		}


		public SqlInt32 MallasAntiInsectos
		{
			get
			{
				return _mallasAntiInsectos;
			}
			set
			{
				_mallasAntiInsectos = value;
			}
		}


		public SqlInt32 MallasSombreo
		{
			get
			{
				return _mallasSombreo;
			}
			set
			{
				_mallasSombreo = value;
			}
		}


		public SqlInt32 Expr1
		{
			get
			{
				return _expr1;
			}
			set
			{
				_expr1 = value;
			}
		}


		public SqlInt32 EquipoControlAutomatismos
		{
			get
			{
				return _equipoControlAutomatismos;
			}
			set
			{
				_equipoControlAutomatismos = value;
			}
		}


		public SqlInt32 EquipoMonitoreoAguaAire
		{
			get
			{
				return _equipoMonitoreoAguaAire;
			}
			set
			{
				_equipoMonitoreoAguaAire = value;
			}
		}


		public SqlInt32 EquipoMonitoreoPlagas
		{
			get
			{
				return _equipoMonitoreoPlagas;
			}
			set
			{
				_equipoMonitoreoPlagas = value;
			}
		}


		public SqlInt32 EquipoSaludSeguridadOcupacional
		{
			get
			{
				return _equipoSaludSeguridadOcupacional;
			}
			set
			{
				_equipoSaludSeguridadOcupacional = value;
			}
		}


		public SqlInt32 EquipoPortatiles
		{
			get
			{
				return _equipoPortatiles;
			}
			set
			{
				_equipoPortatiles = value;
			}
		}


		public SqlInt32 EquipoPoscosecha
		{
			get
			{
				return _equipoPoscosecha;
			}
			set
			{
				_equipoPoscosecha = value;
			}
		}


		public SqlInt32 EquipoRiegoFertiIrrigacion
		{
			get
			{
				return _equipoRiegoFertiIrrigacion;
			}
			set
			{
				_equipoRiegoFertiIrrigacion = value;
			}
		}


		public SqlInt32 MaterialesMadera
		{
			get
			{
				return _materialesMadera;
			}
			set
			{
				_materialesMadera = value;
			}
		}


		public SqlInt32 MaterialesMetal
		{
			get
			{
				return _materialesMetal;
			}
			set
			{
				_materialesMetal = value;
			}
		}


		public SqlInt32 PantallasCortaViento
		{
			get
			{
				return _pantallasCortaViento;
			}
			set
			{
				_pantallasCortaViento = value;
			}
		}


		public SqlInt32 PantallasReflectivasRefractivas
		{
			get
			{
				return _pantallasReflectivasRefractivas;
			}
			set
			{
				_pantallasReflectivasRefractivas = value;
			}
		}


		public SqlInt32 SistemaRecirculacionSoluciones
		{
			get
			{
				return _sistemaRecirculacionSoluciones;
			}
			set
			{
				_sistemaRecirculacionSoluciones = value;
			}
		}


		public SqlInt32 SistemasCalefaccionRefrigeracion
		{
			get
			{
				return _sistemasCalefaccionRefrigeracion;
			}
			set
			{
				_sistemasCalefaccionRefrigeracion = value;
			}
		}


		public SqlInt32 PlasticosClaros
		{
			get
			{
				return _plasticosClaros;
			}
			set
			{
				_plasticosClaros = value;
			}
		}


		public SqlInt32 PlasticosPigmentados
		{
			get
			{
				return _plasticosPigmentados;
			}
			set
			{
				_plasticosPigmentados = value;
			}
		}
		#endregion
	}
}
